Conversation
Codecov Results 📊Generated by Codecov Action |
node-overhead report 🧳Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.
|
81b555e to
161862d
Compare
size-limit report 📦
|
1317257 to
2a86160
Compare
|
This pull request has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you apply the label |
99ea611 to
9ded4c9
Compare
53bf486 to
5f43f63
Compare
There was a problem hiding this comment.
Pull request overview
Adds a new @sentry/nitro package skeleton to the monorepo and wires it into the repo’s release/testing/triage infrastructure as the base for a stacked series of Nitro SDK PRs.
Changes:
- Introduces the new
packages/nitropackage with initial SDK/config scaffolding, build config, and a placeholder test. - Registers the package across monorepo plumbing (workspace list, root README, issue templates/labeling, release config).
- Updates lockfile for the newly introduced dependency graph.
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Lockfile updates due to dependency graph changes. |
| packages/nitro/package.json | New package manifest, exports, build/test scripts. |
| packages/nitro/rollup.npm.config.mjs | Rollup config for publishing builds (ESM-only). |
| packages/nitro/tsconfig.json | Package TS config (module/moduleResolution overrides). |
| packages/nitro/tsconfig.types.json | Declaration-only build config for emitted types. |
| packages/nitro/tsconfig.test.json | Test TS config for package tests. |
| packages/nitro/src/index.ts | Public entrypoint re-exporting config + @sentry/node + Nitro init. |
| packages/nitro/src/sdk.ts | Nitro SDK initialization wrapper around @sentry/node. |
| packages/nitro/src/config.ts | withSentryConfig / module setup helper for Nitro config. |
| packages/nitro/src/module.ts | Nitro module factory placeholder. |
| packages/nitro/src/common/debug-build.ts | Debug-build flag constant (pattern consistent with other packages). |
| packages/nitro/src/utils/resolver.ts | Path resolver helper utility. |
| packages/nitro/src/utils/plugin.ts | Helper to add Nitro plugins. |
| packages/nitro/test/index.test.ts | Placeholder Vitest test. |
| packages/nitro/test/tsconfig.json | Test tsconfig shim extending package test config. |
| packages/nitro/README.md | Initial package documentation. |
| packages/nitro/LICENSE | Package license file. |
| packages/nitro/.eslintrc.js | Package-local ESLint config extending repo base. |
| package.json | Adds packages/nitro to workspace list. |
| dev-packages/e2e-tests/verdaccio-config/config.yaml | Allows publishing @sentry/nitro in Verdaccio E2E setup. |
| README.md | Adds @sentry/nitro to root package list. |
| .github/workflows/issue-package-label.yml | Adds Nitro to package-to-label mapping. |
| .github/ISSUE_TEMPLATE/bug.yml | Adds @sentry/nitro to bug template SDK dropdown. |
| .craft.yml | Adds Nitro package to Craft release targets/metadata. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thank you for all comments @s1gr1d very thorough review! all addressed 🙏 |
5f3baf0 to
1dad524
Compare
1dad524 to
120ecba
Compare
- Update LICENSE copyright year to 2026 - Expand peerDependencies range to cover nitro prereleases - Bump nitro devDependency to latest beta - Add beta notice to README - Improve README wording (section title, Vite capitalization, --import mention) - Point .craft.yml docs URL to package README until docs page exists - Include 'node' in applySdkMetadata packages list for consistency Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The repo uses Oxlint, not ESLint. Remove the legacy .eslintrc.js file. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements HTTP server instrumentation for both `h3` and `srvx` by listening to their tracing channel events. - `h3` TC PR: h3js/h3#1251 - `srvx` TC PR: h3js/srvx#141 Closes #18123 --- **This PR is part of a stack:** - #20358 - #19224 - #19225 👈 - #19304 --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds automatic sourcemap handling to the Nitro SDK, using `@sentry/bundler-plugin-core` for builder-agnostic post-build upload. Nitro uses rollup or rolldown, so it made sense to make it as agnostic as possible. Closes #17992 --- **This PR is part of a stack:** - #20358 - #19224 - #19225 - #19304 👈 --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Nitro 3 is ESM-only, so the cjs output was shipping dead code. Also removes a broken typesVersions entry pointing at build/types/plugins.d.ts (file never existed, no consumer imports @sentry/nitro/plugins). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Align with Bun/Deno/Cloudflare SDKs by guarding the default integrations computation behind an undefined check instead of relying on spread order. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
830ac6e to
a62ff3c
Compare
The URL constructor throws on relative paths like `/api/users`, causing the transaction name and root span updates to be silently skipped. Use parseUrl from @sentry/core, which handles relative URLs correctly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
E2E tests now install @sentry packages from packed tarballs under dev-packages/e2e-tests/packed/ rather than a local verdaccio registry, so the .npmrc and "latest || *" version specifiers are no longer needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI's ciPnpmOverrides script already pins @sentry/* deps to the packed tarballs, so the "latest || *" specifiers are sufficient. Keep only the .npmrc removal from the previous commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add `keywords`, `lint:fix` script, and `nx.targets` build config to package.json - Link to the nitro-3 e2e app from the README - Point `.craft.yml` `mainDocsUrl` to the docs page - Add a CHANGELOG unreleased entry for the new SDK Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Remove the `exclude` and "built separately" comment referencing `src/setup.ts` and `tsconfig.setup-types.json`, both of which no longer exist in the package. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 4 total unresolved issues (including 3 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 000b7b0. Configure here.

This PR just isolates the mundane changes needed for a new SDK to keep the next stacked PRs clean, it adds the Nitro SDK to the monorepo.
This PR is a base of a stack, the stacked PRs will be merged into it. I thought this will be easier to review.
This PR is part of a stack: